package skladowisko;

import java.util.Date;
import skladowisko.dictonaries.StatusZadania;

/**
 *
 * @author Krzysiek
 */
public class ZadaniePrzeladunkowe
{
    private static int nextId =1;
    private int ID;
    
    private Miejsce skad;
    private Miejsce dokad;
    private Kontener obiekt;
    private Maszyna maszyna;
        
    private Date dataZlecenia;
    private Date dataRealizacji;

    private StatusZadania status;

    //***************************************************************************
    public ZadaniePrzeladunkowe(Kontener kontener, Miejsce skad, Miejsce dokad)
    {
        ID = nextId;
        nextId++;
        status = StatusZadania.UTWORZONE;

        this.obiekt = kontener;
        this.skad = skad;
        this.dokad = dokad;
    }
    //***************************************************************************
    @Override
    public String toString()
    {
        StringBuilder raport = new StringBuilder();
        raport.append("Transport pomiędzy: ").append(getSkad().toString()).append(" - ").append(getDokad().toString());
        raport.append('\n');
        raport.append("Obiekt: ").append(getObiekt().toString());
        raport.append('\n');
        raport.append("Maszyna: ").append(getMaszyna().toString());
        raport.append('\n');
        StringBuilder append = raport.append("Data zlecenia: ").append(getDataZlecenia().toString());
        raport.append('\n');
        raport.append("Data realizacji: ").append(getDataRealizacji().toString());

        return raport.toString();
    }
    //***************************************************************************
    public boolean isPoprawne()
    {
        if(skad.getKontener().equals(this.obiekt))
            return true;

        return false;
    }
    //***************************************************************************   
    public int getID()
    {
        return ID;
    }
    //***************************************************************************
    public Miejsce getSkad()
    {
        return skad;
    }
    //***************************************************************************
    public Miejsce getDokad()
    {
        return dokad;
    }
    //***************************************************************************
    public Kontener getObiekt()
    {
         return obiekt;
    }
    //***************************************************************************
    public Maszyna getMaszyna()
    {
        return maszyna;
    }
    //***************************************************************************
    public void setMaszyna(Maszyna maszyna)
    {
        this.maszyna = maszyna;
    }
    //***************************************************************************
    public Date getDataZlecenia()
    {
        return dataZlecenia;
    }
    //***************************************************************************
    public void setDataZlecenia(Date dataZlecenia)
    {
        this.dataZlecenia = dataZlecenia;
    }
    //***************************************************************************
    public Date getDataRealizacji()
    {
        return dataRealizacji;
    }
    //***************************************************************************
    public void setDataRealizacji(Date dataRealizacji)
    {
        this.dataRealizacji = dataRealizacji;
    }
    //***************************************************************************
    public StatusZadania getStatus()
    {
        return status;
    }
    //***************************************************************************
    public void setStatus(StatusZadania status)
    {
        this.status = status;
    }
    //***************************************************************************
}
